/*
 * Copyright [2021] [MaxKey of copyright http://www.maxkey.top]
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */


package org.maxkey.constants.ldap;

import java.util.ArrayList;
import java.util.Arrays;

/**
 * InetOrgPerson objectclass attribute
 * top ->  person -> organizationalPerson -> inetOrgPerson
 *
 * @author shimingxy
 */
public class InetOrgPerson {
    public static ArrayList<String> OBJECTCLASS = new ArrayList<>(Arrays.asList("top", "person", "organizationalPerson", "inetOrgPerson"));

    public static String objectClass = "inetOrgPerson";
    public static final String DISTINGUISHEDNAME = "distinguishedname";
    //person sup top
    /**
     * person sn MUST
     */
    public static final String SN = "sn";
    /**
     * person cn MUST
     */
    public static final String CN = "cn";
    /**
     * person userPassword
     */
    public static final String USERPASSWORD = "userPassword";
    /**
     * person userPassword
     */
    public static final String TELEPHONENUMBER = "telephoneNumber";
    /**
     * person seeAlso
     */
    public static final String SEEALSO = "seeAlso";
    /**
     * person description
     */
    public static final String DESCRIPTION = "description";

    //organizationalPerson sup  person
    /**
     * organizationalPerson title
     */
    public static final String TITLE = "title";
    /**
     * organizationalPerson x121Address
     */
    public static final String X121ADDRESS = "x121Address";
    /**
     * organizationalPerson registeredAddress
     */
    public static final String REGISTEREDADDRESS = "registeredAddress";
    /**
     * organizationalPerson destinationIndicator
     */
    public static final String DESTINATIONINDICATOR = "destinationIndicator";
    /**
     * organizationalPerson preferredDeliveryMethod
     */
    public static final String PREFERREDDELIVERYMETHOD = "preferredDeliveryMethod";
    /**
     * organizationalPerson telexNumber
     */
    public static final String TELEXNUMBER = "telexNumber";
    /**
     * organizationalPerson teletexTerminalIdentifier
     */
    public static final String TELETEXTERMINALIDENTIFIER = "teletexTerminalIdentifier";
    /**
     * organizationalPerson internationaliSDNNumber
     */
    public static final String INTERNATIONALISDNNUMBER = "internationaliSDNNumber";
    /**
     * organizationalPerson facsimileTelephoneNumber
     */
    public static final String FACSIMILETELEPHONENUMBER = "facsimileTelephoneNumber";
    /**
     * organizationalPerson street
     */
    public static final String STREET = "street";
    /**
     * organizationalPerson postOfficeBox
     */
    public static final String POSTOFFICEBOX = "postOfficeBox";
    /**
     * organizationalPerson postalCode
     */
    public static final String POSTALCODE = "postalCode";
    /**
     * organizationalPerson postalAddress
     */
    public static final String POSTALADDRESS = "postalAddress";
    /**
     * organizationalPerson physicalDeliveryOfficeName
     */
    public static final String PHYSICALDELIVERYOFFICENAME = "physicalDeliveryOfficeName";
    /**
     * organizationalPerson ou
     */
    public static final String OU = "ou";
    /**
     * organizationalPerson st
     */
    public static final String ST = "st";
    /**
     * organizationalPerson l
     */
    public static final String L = "l";

    //inetOrgPerson sup organizationalPerson
    /**
     * inetOrgPerson carLicense
     */
    public static final String CARLICENSE = "carLicense";
    /**
     * inetOrgPerson departmentNumber
     */
    public static final String DEPARTMENTNUMBER = "departmentNumber";
    /**
     * inetOrgPerson displayName
     */
    public static final String DISPLAYNAME = "displayName";
    /**
     * inetOrgPerson employeeNumber
     */
    public static final String EMPLOYEENUMBER = "employeeNumber";
    /**
     * inetOrgPerson employeeType
     */
    public static final String EMPLOYEETYPE = "employeeType";
    /**
     * inetOrgPerson jpegPhoto
     */
    public static final String JPEGPHOTO = "jpegPhoto";
    /**
     * inetOrgPerson preferredLanguage
     */
    public static final String PREFERREDLANGUAGE = "preferredLanguage";
    /**
     * inetOrgPerson userSMIMECertificate
     */
    public static final String USERSMIMECERTIFICATE = "userSMIMECertificate";
    /**
     * inetOrgPerson userPKCS12
     */
    public static final String USERPKCS12 = "userPKCS12";
    /**
     * inetOrgPerson audio
     */
    public static final String AUDIO = "audio";
    /**
     * inetOrgPerson businessCategory
     */
    public static final String BUSINESSCATEGORY = "businessCategory";
    /**
     * inetOrgPerson givenName
     */
    public static final String GIVENNAME = "givenName";
    /**
     * inetOrgPerson homePhone
     */
    public static final String HOMEPHONE = "homePhone";
    /**
     * inetOrgPerson homePostalAddress
     */
    public static final String HOMEPOSTALADDRESS = "homePostalAddress";
    /**
     * inetOrgPerson initials
     */
    public static final String INITIALS = "initials";
    /**
     * inetOrgPerson photo
     */
    public static final String PHOTO = "photo";
    /**
     * inetOrgPerson roomNumber
     */
    public static final String ROOMNUMBER = "roomNumber";
    /**
     * inetOrgPerson secretary
     */
    public static final String SECRETARY = "secretary";
    /**
     * inetOrgPerson uid
     */
    public static final String UID = "uid";
    /**
     * inetOrgPerson userCertificate
     */
    public static final String USERCERTIFICATE = "userCertificate";
    /**
     * inetOrgPerson x500uniqueIdentifier
     */
    public static final String X500UNIQUEIDENTIFIER = "x500uniqueIdentifier";

    public static final String MAIL = "mail";

    public static final String MOBILE = "mobile";

    public static final String MANAGER = "manager";

    //MaxKey EXTEND
    public static final String DEPARTMENT = "department";


}
